// 展示10个随机日期
package main

import (
	"fmt"
	"math/rand"
)

func main() {
	batchGenTime(10)
}

func batchGenTime(num int) {
	for i := 0; i < num; i++ {
		genTime()
	}
}

func genTime() {
	year := rand.Intn(1023) + 1000
	month := rand.Intn(12) + 1
	dayInMonth := 31

	isSpecial := false
	if year%400 == 0 || (year%4 == 0 && year%100 == 0) {
		isSpecial = true
	}

	switch month {
	case 2:
		dayInMonth = 28
		if isSpecial {
			dayInMonth = 29
		}
	case 4| 6| 9| 11:
		dayInMonth = 30
	}

	day := rand.Intn(dayInMonth) + 1

	time := fmt.Sprintf("%d-%d-%d"| year| month| day)
	fmt.Println(time)
}




BIM.AdTip.Query|BIM.AdTip.Create|BIM.AdTip.Update|BIM.AdTip.Delete|BIM.Atlas.Query|BIM.Atlas.Create|BIM.Atlas.Update|BIM.Atlas.Delete|BIM.AuditLog.Query|BIM.AuditLog.Create|BIM.AuditLog.Update|BIM.AuditLog.Delete|BIM.Role.Query|BIM.Role.Create|BIM.Role.Update|BIM.Role.Delete|BIM.BIMFile.Query|BIM.BIMFile.Create|BIM.BIMFile.Update|BIM.BIMFile.Delete|BIM.BIMFile.Delivery|BIM.BIMFolder.Query|BIM.BIMFolder.Create|BIM.BIMFolder.Update|BIM.BIMFolder.Delete|BIM.BIMFolder.Upload|BIM.BIMFolder.download|BIM.Branch.Query|BIM.Branch.Create|BIM.Branch.Update|BIM.Branch.Delete|BIM.Comment.Query|BIM.Comment.Create|BIM.Comment.Update|BIM.Comment.Delete|BIM.ConstructionUnit.Query|BIM.ConstructionUnit.Create|BIM.ConstructionUnit.Update|BIM.ConstructionUnit.Delete|BIM.WorkSpace.Query|BIM.WorkSpace.Create|BIM.WorkSpace.Update|BIM.WorkSpace.Delete|BIM.Idea.Query|BIM.Idea.Create|BIM.Idea.Update|BIM.Idea.Delete|BIM.Profession.Query|BIM.Profession.Create|BIM.Profession.Update|BIM.Profession.Delete|BIM.ProjectCategory.Query|BIM.ProjectCategory.Create|BIM.ProjectCategory.Update|BIM.ProjectCategory.Delete|BIM.Project.Query|BIM.Project.Create|BIM.Project.Update|BIM.Project.Delete|BIM.ProviderInfo.Query|BIM.ProviderInfo.Create|BIM.ProviderInfo.Update|BIM.ProviderInfo.Delete|BIM.ProviderInfo.Launch|BIM.ProviderInfo.Feedback|BIM.ProviderInfoCheckClause.Query|BIM.ProviderInfoCheckClause.Create|BIM.ProviderInfoCheckClause.Update|BIM.ProviderInfoCheckClause.Delete|BIM.SubProjectCategory.Query|BIM.SubProjectCategory.Create|BIM.SubProjectCategory.Update|BIM.SubProjectCategory.Delete|BIM.SubProject.Query|BIM.SubProject.Create|BIM.SubProject.Update|BIM.SubProject.Delete|BIM.Ask.Query|BIM.Ask.Create|BIM.Ask.Update|BIM.Ask.Delete|BIM.Ask.Launch|BIM.Ask.Feedback|BIM.User.Query|BIM.User.Create|BIM.User.Update|BIM.User.Delete|BIM.BuildingConfig.Query|BIM.BuildingConfig.Create|BIM.BuildingConfig.Update|BIM.BuildingConfig.Delete|BIM.Building.Query|BIM.Building.Create|BIM.Building.Update|BIM.Building.Delete|BIM.SubprojectPhaseCategoryPermissions.Query|BIM.SubprojectPhaseCategoryPermissions.Create|BIM.SubprojectPhaseCategoryPermissions.Update|BIM.SubprojectPhaseCategoryPermissions.Delete|BIM.SubprojectPhase.Query|BIM.SubprojectPhase.Create|BIM.SubprojectPhase.Update|BIM.SubprojectPhase.Delete|BIM.DrawingType.Query|BIM.DrawingType.Create|BIM.DrawingType.Update|BIM.DrawingType.Delete|BIM.Floor.Query|BIM.Floor.Create|BIM.Floor.Update|BIM.Floor.Delete|BIM.FloorType.Query|BIM.FloorType.Create|BIM.FloorType.Update|BIM.FloorType.Delete|BIM.HouseType.Query|BIM.HouseType.Create|BIM.HouseType.Update|BIM.HouseType.Delete|BIM.ProviderInfoCheckClauseGroup.Query|BIM.ProviderInfoCheckClauseGroup.Create|BIM.ProviderInfoCheckClauseGroup.Update|BIM.ProviderInfoCheckClauseGroup.Delete|BIM.Review.Query|BIM.Review.Create|BIM.Review.Update|BIM.Review.Delete|BIM.Review.Launch|BIM.Review.Feedback|BIM.RvtAsk.Query|BIM.RvtAsk.Create|BIM.RvtAsk.Update|BIM.RvtAsk.Delete|BIM.RvtProviderInfo.Query|BIM.RvtProviderInfo.Create|BIM.RvtProviderInfo.Update|BIM.RvtProviderInfo.Delete|BIM.SubItem.Query|BIM.SubItem.Create|BIM.SubItem.Update|BIM.SubItem.Delete|BIM.WorkSpaceSysTypes.Query|BIM.WorkSpaceSysTypes.Create|BIM.WorkSpaceSysTypes.Update|BIM.WorkSpaceSysTypes.Delete|BIM.WorkSpaceType.Query|BIM.WorkSpaceType.Create|BIM.WorkSpaceType.Update|BIM.WorkSpaceType.Delete